|
Menüeintrag |
---|
Surface → Extend face |
Arbeitsbereich |
Surface |
Standardtastenkürzel |
Keiner |
Eingeführt in Version |
0.17 |
Siehe auch |
Keiner |
Surface FlächeErweitern extrapoliert eine vorhandene Fläche oder Oberfläche an ihren Rändern mit ihren lokalen U- und V-Parametern.
Links: Original Fläche. Rechts: Erweiterte Fläche.
Dieser Befehl besitzt keine Optionen. Entweder funktioniert er mit der Auswahl oder nicht.
A Surface Extend object (Surface::Extend
class) is derived from the basic Part Feature (Part::Feature
class, through the Part::Spline
subclass), therefore it shares all the latter's properties.
In addition to the properties described in Part Feature, the Surface Filling has the following properties in the property editor.
Base
LinkSub
): the subelement from an object that will be extended; it must be a face.FloatConstraint
): it defaults to 0.1
.FloatConstraint
): it defaults to 0.05
. The ratio of the local U parameter that will be extended in the negative direction.FloatConstraint
): it defaults to 0.05
. The ratio of the local U parameter that will be extended in the positive direction.Bool
): it defaults to true
, in which case DatenExtend UNeg and DatenExtend UPos will have the same value.FloatConstraint
): it defaults to 0.05
. The ratio of the local V that will be extended in the negative direction.FloatConstraint
): it defaults to 0.05
. The ratio of the local V direction that will be extended in the positive direction.Bool
): it defaults to true
, in which case DatenExtend VNeg and DatenExtend VPos will have the same value.IntegerConstraint
): it defaults to 32
.IntegerConstraint
): it defaults to 32
.
Base
Bool
): it defaults to false
; if set to true
, it will show an overlay with the control points of the surface.
See also: FreeCAD Scripting Basics.
The Surface Extend tool can be used in macros and from the Python console by adding the Surface::Extend
object.
Face
property of the object. It must contain only a single face.import FreeCAD as App
import Draft
doc = App.newDocument()
a = App.Vector(-20, -20, 0)
b = App.Vector(-18, 25, 0)
c = App.Vector(60, 26, 0)
d = App.Vector(33, -20, 0)
points = [a, App.Vector(-20, -8, 0), b, c,
App.Vector(37, 4, 0), d,
App.Vector(-2, -18, 0), a]
obj = Draft.make_bspline(points)
doc.recompute()
if App.GuiUp:
obj.ViewObject.Visibility = False
surf = doc.addObject("Surface::Filling", "Surface")
surf.BoundaryEdges = [(obj, "Edge1")]
doc.recompute()
# ---------------------------------------------------------
points_spl = [App.Vector(-10, 0, 2),
App.Vector(4, 0, 7),
App.Vector(18, 0, -5),
App.Vector(25, 0, 0),
App.Vector(30, 0, 0)]
aux_edge = Draft.make_bspline(points_spl)
doc.recompute()
surf.UnboundEdges = [(aux_edge, "Edge1")]
doc.recompute()
# ---------------------------------------------------------
surf_extended = doc.addObject("Surface::Extend", "Surface")
surf_extended.Face = [surf, "Face1"]
doc.recompute()